// -----------------------------------------------------------------------------
//
//                           function gstime
//
//  this function finds the greenwich sidereal time (iau-82).
//
//  author        : david vallado                  719-573-2600    7 jun 2002
//
//  revisions
//                -
//
//  inputs          description                    range / units
//    jdut1       - julian date of ut1             days from 4713 bc
//
//  outputs       :
//    gst         - greenwich sidereal time        0 to 2pi rad
//
//  locals        :
//    temp        - temporary variable for reals   rad
//    tut1        - julian centuries from the
//                  jan 1, 2000 12 h epoch (ut1)
//
//  coupling      :
//
//  references    :
//    vallado       2007, 193, Eq 3-43
//
// gst = gstime(jdut1);
// -----------------------------------------------------------------------------

function gstime(jdut1) {
    var twopi      = 2.0 * Math.PI,
        deg2rad    = Math.PI / 180.0,
        tut1, temp;

    // ------------------------  implementation   ------------------
    tut1 = (jdut1 - 2451545.0) / 36525.0;

    temp = -6.2e-6 * tut1 * tut1 * tut1 + 0.093104 * tut1 * tut1 +
        (876600.0 * 3600.0 + 8640184.812866) * tut1 + 67310.54841;

    // 360/86400 = 1/240, to deg, to rad
    temp = (temp * deg2rad / 240.0) % twopi;

    // ------------------------ check quadrants --------------------
    if (temp < 0.0) {
        temp = temp + twopi;
    }
    return temp;
}